A Study of Dynamic Weaving for Aspect-Oriented Programming
نویسندگان
چکیده
The previous implementations of dynamic weaving in AOP (AspectOriented Programming) systems have drawbacks although it is receiving growing interests in both the academia and the industry. Typical dynamic weaving techniques are divided into two kinds of levels in terms of granularity of aspect weaving: a class-level and an object-level weaving. Either of weaving techniques also has each problem: serious performance penalties and the version barrier, respectively. To provide an efficient, fine-grained, dynamic weaving mechanism at the class-level and object-level by addressing these problems, this thesis proposes new two mechanisms at each weaving level. One is a selective, just-in-time, aspect weaving mechanism for efficient class-level dynamic AOP, which seeks the performance improvement of weaving an aspect, executing an advice code, and the performance of normal execution. The other is the new concept for loosely-separated namespaces to enabling fine-grained object-level dynamic weaving, which can securely and efficiently relax the version barrier between namespaces.
منابع مشابه
On Weaving Aspects
Object-oriented software systems that are developed using aspect-oriented programming techniques consist of classes and aspects. Classes implement the primary functionality of an application, for example, managing stocks or calculating insurance rates. Aspects, on the other hand, capture technical concerns like persistence, failure handling, communication, or process synchronization. They are w...
متن کاملApostle: A Simple Incremental Weaver for a Dynamic Aspect Language
This paper describes the incremental weaving implementation of Apostle, an aspect-oriented language extension to Smalltalk modelled on AspectJ. Apostle implements incremental weaving in order to make aspect-oriented programming (AOP) a natural extension of the incremental edit-run-debug cycle of Smalltalk environments. The paper analyzes build dependencies for aspect declarations, and shows tha...
متن کاملA Calculus of Untyped Aspect-Oriented Programs
Aspects have emerged as a powerful tool in the design and development of systems, allowing for the encapsulation of program transformations. The dynamic semantics of aspects is typically specified by appealing to an underlying object-oriented language via a compiler transformation known as weaving. This treatment is unsatisfactory for several reasons. Firstly, this semantics violates basic modu...
متن کاملCoupling Availability and Efficiency for Aspect Oriented Runtime Weaving Systems
Performance and availability are two critical requirements of today’s systems. Current dynamic AOP approaches have addressed the performance issue from one specific dimension: the performance of code after the weaving process. Other performance factors may have a great impact on overall system performance. This includes performance of the weaving process itself and also system availability in s...
متن کاملAspect Weaving with C# and .NET
Since current object oriented programming languages don’t have existing support for aspects, aspects are often supported through language extensions [1, 2]. Another approach is to use the existing language to encapsulate aspect behaviors, and provide an additional language to express cross cutting statements [3-5]. Finally, other systems [6]including the one described in this paper use features...
متن کامل